package com.nhjf.common.util;

import java.util.regex.Pattern;

/**
 * 密码强度检查
 * @类功能说明：
 * @类修改者：
 * @修改日期：
 * @修改说明：
 * @公司名称：浙江汇购科技有限公司
 * @部门：技术部
 * @作者：龚一凡，蔡振锋
 * @创建时间：2018年1月8日-下午5:30:17
 * @版本：V1.0
 */
public class CheckPassword {

    /**
     * 密码复杂度应至少由3种字符以上组成（包括：小写字母、数字、特殊字符、大写字母）
     * @param passwordStr
     * @return
     */
    public static boolean checkPassword(String passwordStr) {
    	int num = 0;
        num = Pattern.compile("\\d").matcher(passwordStr).find() ? num + 1 : num; // 数字
        num = Pattern.compile("[a-z]").matcher(passwordStr).find() ? num + 1 : num; // 小写字母
        num = Pattern.compile("[A-Z]").matcher(passwordStr).find() ? num + 1 : num; // 大写字母
        num = Pattern.compile("[!@#$%^&*()_+\\[\\];'\\\\/.,<>?|\":}{]").matcher(passwordStr).find() ? num + 1 : num; // 特殊字符
        return num >= 3;
    }
}
